package com.millstein.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.millstein.model.ProductDO;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.BeanUtils;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @description:
 * @author: tsing
 * @create: 2021-09-16 14:57
 */
@Data
@NoArgsConstructor
public class ProductVO {

    private Long id;

    /**
     * 标题
     */
    private String title;

    /**
     * 封面图
     */
    @JsonProperty("cover_img")
    private String coverImg;

    /**
     * 详情
     */
    private String detail;

    /**
     * 老价格
     */
    @JsonProperty("old_price")
    private BigDecimal oldPrice;

    /**
     * 新价格
     */
    private BigDecimal price;

    /**
     * 现有库存
     */
    private Integer stock;

    /**
     * 创建时间
     */
    @JsonProperty("create_time")
    private Date createTime;

    public ProductVO(ProductDO productDO) {
        BeanUtils.copyProperties(productDO, this);
        this.stock = productDO.getStock() - productDO.getLockStock();
    }
}
